|
In computer science, object composition (not to be confused with function composition) is a way to combine simple objects or data types into more complex ones. Compositions are a critical building block of many basic data structures, including the tagged union, the linked list, and the binary tree, as well as the object used in object-oriented programming. ==Details== In a programming language, when objects are typed, types can often be divided into composite and noncomposite types, and composition can be regarded as a relationship between types: an object of a composite type (e.g. ''car'') "has an" object of a simpler type (e.g. ''wheel''). Consider the relation of an automobile to its parts, specifically: the ''automobile'' has or is composed from objects including ''steering wheel'', ''seat'', ''gearbox'' and ''engine''. This relation might be fixed in a computer program as a composition relation. However, the real world relation is softer and fuzzier. The engine in one automobile may be replaced by the engine from another automobile, meaning the relation is better described as an aggregation than a composition. Generally speaking, as time passes, what look like compositions tend to turn into aggregations, and aggregations tend to turn into looser associations. Composition must be distinguished from subtyping, which is the process of adding detail to a general data type to create a more specific data type. For instance, cars may be a specific type of vehicle: ''car'' is a ''vehicle''. Subtyping doesn't describe a relationship between different objects, but instead, says that objects of a type are simultaneously objects of another type. In programming languages, composite objects are usually expressed by means of references from one object to another; depending on the language, such references may be known as ''attributes'', ''fields'', ''members'' or ''properties'', and the resulting composition as ''composite type'', ''storage record'', ''structure'', ''tuple'', or a ''user-defined type (UDT)''. Fields are given a unique name so that each one can be distinguished from the others. However, having such references doesn't necessarily mean that an object is a composite. It is only called composite, if the objects it refers to are really its parts, i.e. have no independent existence. For details, see the aggregation section below. 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「Object composition」の詳細全文を読む スポンサード リンク
|